// pages/package/pageView/index.js
Page({
  /**
   * 页面的初始数据
   */
  data: {

  },

  clickRefresh(e) {
    const {index} = e.currentTarget.dataset;
    // 根据组件ID,自动注入pageView1Target对象
    // 等同 this.pageView1Target.refresh()
    this[`pageView${index}Target`].refresh()
  },

  // ==================================  方法1.1: 监听事件触发  ===============================
  // 方法1.1: 请求前参数修改
  readyRequest(e) {
    const {
      params,
      id
    } = e.detail
    console.log("组件ID", id)
    console.log("监听事件触发-请求参数", params)
    // params对应wx.request参数
    params.url = "https://www.ggdzhj.com/api/business/product/queryListForFilterExpert"
    params.data = {
      // 注意: [页数/每页数量]由组件内部initParams处理(第一次使用需要修改),并不需要传
      // "pager": {
      //   "currentPage": 1,
      //   "pageSize": 10
      // },
      // 注意:继承原参数(如果不沿用已生成的分页数据, 会使组件分页功能失效)
      ...params.data,
      "province": "",
      "attrValueIds": [],
      "sortPointers": [{
        "order": "DESC",
        "field": "comprehensive_sort"
      }]
    }
  },
  // 方法1.1: 请求成功回调
  requestSuccess(e) {
    const {
      res,
      id,
      resetResultFun
    } = e.detail
    console.log("请求成功-组件ID", id)
    console.log("请求成功-结果", res)
    console.log("请求成功-参数处理回调", resetResultFun)

    // 修改列表中的对象属性
    const pageViewData = res.data.data.list
    for (let index in pageViewData) {
      // 将特定字改为红色
      const fontRedList = ["LED", "机器人", "优化"]
      let nameColor = pageViewData[index].name
      for (const fontRed of fontRedList) {
        nameColor = nameColor.replace(fontRed, `<span style='color:red'>${fontRed}</span>`)
      }
      pageViewData[index].nameColor = nameColor
    }
  },

  // 方法1.1: 请求失败回调
  requestFail(e) {
    console.log("请求失败", e.detail)
  },



  // ==================================  方法二: 自动注入方法触发  ===============================
  // 方法2: 请求前参数修改
  pageView2ReadyRequest(params, id) {
    console.log("组件ID", id)
    console.log("通过注入方法-请求参数", params)
    // params对应wx.request参数
    params.url = "https://www.ggdzhj.com/api/business/product/queryListForFilterExpert"
    params.data = {
      // 注意: [页数/每页数量]由组件内部initParams处理(第一次使用需要修改),并不需要传
      // "pager": {
      //   "currentPage": 1,
      //   "pageSize": 10
      // },
      // 注意:继承原参数(不沿用已生成的分页数据, 会使组件分页功能失效)
      ...params.data,
      "province": "",
      "attrValueIds": [],
      "sortPointers": [{
        "order": "DESC",
        "field": "comprehensive_sort"
      }]
    }
  },

  // 方法2: 请求成功回调
  pageView2RequestSuccess(res, id) {
    console.log("请求成功-组件ID", id)
    console.log("请求成功-结果", res)

    // 修改列表中的对象属性
    const pageViewData = res.data.data.list
    for (let index in pageViewData) {
      // 将特定字改为红色
      const fontRedList = ["LED", "机器人", "优化"]
      let nameColor = pageViewData[index].name
      for (const fontRed of fontRedList) {
        nameColor = nameColor.replace(fontRed, `<span style='color:red'>${fontRed}</span>`)
      }
      pageViewData[index].nameColor = nameColor
    }
    // 可选: 返回结果
    // return res
  },

  // 方法1.2: 请求失败回调
  pageView2RequestFail(e) {
    console.log("请求失败", e.detail)
  },

  // ==================================  方法三: 自动注入方法触发  ===============================
  // 方法2: 请求前参数修改
  pageView3ReadyRequest(params, id) {
    console.log("组件ID", id)
    console.log("通过注入方法-请求参数", params)
    return {
      ...params,
      "province": "",
      "attrValueIds": [],
      "sortPointers": [{
        "order": "DESC",
        "field": "comprehensive_sort"
      }]
    }
  },

  // 方法2: 请求成功回调
  pageView3RequestSuccess(res, id) {
    console.log("请求成功-组件ID", id)
    console.log("请求成功-结果", res)

    // 修改列表中的对象属性
    const pageViewData = res.data.data.list
    for (let index in pageViewData) {
      // 将特定字改为红色
      const fontRedList = ["LED", "机器人", "优化"]
      let nameColor = pageViewData[index].name
      for (const fontRed of fontRedList) {
        nameColor = nameColor.replace(fontRed, `<span style='color:red'>${fontRed}</span>`)
      }
      pageViewData[index].nameColor = nameColor
    }
    // 可选: 返回结果
    // return res
  },

  // 方法1.2: 请求失败回调
  pageView3RequestFail(e) {
    console.log("请求失败", e.detail)
  },

})